/**
 * 提示与加载工具类
 * 
 * @export
 * @class Tips
 */
export default class Tips {
  // /**
  //  * 弹出确认窗口
  //  */
  // static modal (text, title = '提示') {
  //   // return new Promise((resolve, reject) => {
  //   //   wx.showModal({
  //   //     title: title,
  //   //     content: text,
  //   //     showCancel: false,
  //   //     success: res => {
  //   //       resolve(res);
  //   //     },
  //   //     fail: res => {
  //   //       reject(res);
  //   //     }
  //   //   });
  //   // });
  // }

  /**
   * 弹出确认窗口
   */
  static confirm(text, title = '提示') {
    return new Promise((resolve, reject) => {
      plus.nativeUI.confirm(text, (event) => {
        var index = event.index; // 用户关闭确认对话框点击按钮的索引值
        resolve(index);
      }, title);
    });
  }

  /**
   * 提示框
   * 
   * @static
   * @param {any} title 
   * @param {any} options 
   * 
   * @memberOf Tips
   */
  static toast(title, options) {
    const opts = Object.assign({
      type: 'text',
      duration: 'short',
      align: 'center'
    }, options);
    plus.nativeUI.toast(title, opts);
  }

  /**
   * 警告框
   */
  static alert(text, title = '提示', buttonCapture = '确认') {
    return new Promise((resolve, reject) => {
      plus.nativeUI.alert(text, (event) => {
        var index = event.index; // 用户关闭确认对话框点击按钮的索引值
        resolve(index);
      }, title, buttonCapture);
    });
  }

  /**
   * 弹出加载提示
   */
  static loading(title = '') {
    plus.nativeUI.showWaiting(title);
  }

  /**
   * 加载完毕
   */
  static loaded() {
    plus.nativeUI.closeWaiting();
  }

  /**
   * 弹出下拉动作栏
   */
  static action(title = '操作', items = []) {
    return new Promise((resolve, reject) => {
      plus.nativeUI.actionSheet({
        title: title,
        cancel: "取消",
        buttons: items
      }, function (e) {
        resolve(e.index);
      });
    });
  }
}